runtime.g.preempt (field)
18 uses
runtime (current package)
lock_futex.go#L129: if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
malloc.go#L1311: if getg().preempt {
mgc.go#L1369: if gp.preempt {
mgcmark.go#L495: if gp.preempt {
mgcmark.go#L1064: for !(gp.preempt && (preemptible || sched.gcwaiting.Load())) {
mgcmark.go#L1078: for !(gp.preempt && (preemptible || sched.gcwaiting.Load())) {
mgcmark.go#L1162: for !gp.preempt && !gcCPULimiter.limiting() && workFlushed+gcw.heapScanWork < scanWork {
mgcwork.go#L477: for i := 0; i < batchSize && !(preemptible && gp.preempt); i++ {
preempt.go#L174: gp.preempt = false
preempt.go#L194: if gp.preemptStop && gp.preempt && gp.stackguard0 == stackPreempt && asyncM == gp.m && asyncM.preemptGen.Load() == asyncGen {
preempt.go#L205: gp.preempt = true
preempt.go#L343: return (gp.preempt || gp.m.p != 0 && gp.m.p.ptr().preempt) && readgstatus(gp)&^_Gscan == _Grunning
proc.go#L358: if !gp.preempt && sched.npidle.Load() > 0 {
proc.go#L2863: gp.preempt = false
proc.go#L4193: if gp.preempt {
proc.go#L5779: gp.preempt = true
runtime1.go#L582: if mp.locks == 0 && gp.preempt {
runtime2.go#L452: preempt bool // preemption signal, duplicates stackguard0 = stackpreempt
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |